The present invention relates to providing video programming on demand, and more particularly to methods and apparatus for providing VCR-like xe2x80x9ctrick modexe2x80x9d functions, such as pause, fast-forward, and rewind, in a distributed, video-on-demand program environment.
The present invention is a continuation-in-part of co-pending U.S. application Ser. No. 08/326,511, filed Oct. 19, 1994, and entitled METHOD AND APPARATUS FOR ENCODING AND FORMATTING DATA REPRESENTING A VIDEO PROGRAM TO PROVIDE MULTIPLE OVERLAPPING PRESENTATIONS OF THE VIDEO PROGRAM (the xe2x80x9cParent Applicationxe2x80x9d), the priority of which is hereby claimed pursuant to 35 U.S.C. xc2xa7 120, and the entirety of which is incorporated herein by this reference.
People in the United States spend roughly $7.5 billion annually to rent movies and other pre-recorded video programming for private playback at their convenience. Such video programming can be rented in many forms, such as video cassette tapes for playback using a video cassette recorder (VCR), video disks for playback on video disk players, or as CD ROM""s for playback using personal computers and other forms of CD ROM players. Renting video programming in this manner is desirable, among other reasons, because it permits a user to view any portion of the video program at any desired speed and in any direction. For example, a user may view some portion of the program, then xe2x80x9cpausexe2x80x9d the program for a desired interruption (i.e., set the viewing speed to zero), and then view the remainder of the program after the interruption. Further, a user may change viewing speed for a desired segment of the program to slow-motion or fast-forward; or, users may rewind backward through the program, effectively making the viewing speed negative. Functions such as these, for altering the speed of viewing, are referred to herein as xe2x80x9ctrick modexe2x80x9d viewing functions. Because VCR""s support these trick mode functions, users are advantageously freed from the linear, time-based constraints of traditional network and cable television programming.
Cable television and direct broadcast satellite (DBS) companies would like to compete in this arena by providing users with the same freedom of use enjoyed through video rental. This service would be known as xe2x80x9cvideo-on-demand.xe2x80x9d Such companies would clearly enjoy an advantage over video rental establishments in providing such a service because users would not be required to leave the comfort of their own homes to rent a copy of the video program (nor would they have to return it when finished). These companies have been heretofore constrained, however, by existing playback and distribution technology.
It would be prohibitively expensive for a cable television company to provide true video-on-demand using currently known technology. To duplicate the advantages of video rental and in-home playback, the company would have to provide a dedicated playback resource to each cable subscriber, along with an expensive memory array containing a library of video programs from which the subscriber could select programs for playback through the dedicated resource. Further, the cable distribution infrastructure would be required to have sufficient bandwidth to distribute a different video program, or at least a different playback of a video program, to each subscriber connected to the network. Of course this would be difficult without a leap in technology and replacement of the current distribution infrastructure.
One possible compromise would be to produce multiple, overlapping playback (i.e. presentations) of the same video program, such that a new presentation of the program would begin, for example, every five minutes. For a two hour video program, a total of twenty-four overlapping presentations of the program would be made available to subscribers. Each subscriber would then have a receiver capable of selectively receiving any one of the twenty-four presentations. Although a subscriber would not enjoy full video-on-demand, the subscriber would have to wait at most five minutes to begin viewing the program in its entirety. The Parent Application provides a detailed description of inventive technology for implementing this approach.
A limitation of this approach, as disclosed and described in the Parent Application, is that although subscribers are able to access any desired point within a program by accessing a different one of the overlapping presentations, a subscriber must wait as much as five minutes (i.e., the length of an interval) for the overlapping presentation to xe2x80x9ccatch upxe2x80x9d to the desired point being accessed. Therefore, without additional enhancement, the approach of the Parent Application does not enable subscribers to enjoy xe2x80x9ctrick modexe2x80x9d functions such as pause, fast forward, and rewind in the virtually continuous form that VCR users have come to expect.
Complex disk-drive arrays or video servers have been recently proposed, each having thousands of video programs stored in their memory and each capable of serving up to two hundred subscribers. The cost of implementing a video-on-demand system for the 57 million current cable subscribers, assuming that such advanced technology could be implemented, would still require an estimated $20 billion in capital investments (about $350.00 per subscriber). Further, full implementation of a service based on such proposed server technology would require that the current cable and telephone distribution network infrastructure be restructured and upgraded over the next several years at a cost of an additional two billion dollars per year to increase its bandwidth. Implementing VCR-like trick mode functions would not only increase the complexity of the servers, but it would also impinge on available bandwidth because each subscriber must be able to communicate commands back to his or her dedicated server. Such xe2x80x9cback channelsxe2x80x9d are not even available in the context of existing DBS systems, and most existing cable distribution systems.
To date, cable television and DBS companies have offered pay-per-view services that permits users to request (either over the telephone or directly through the cable network) an offered video program for a fee. The company then permits the subscriber to receive the selected transmission of the video program. These services are far from video-on-demand, however, and among other limitations do not provide subscribers the freedom associated with the trick mode functionality of in-home playback resources such as a VCR.
Accordingly, there is a need for new technology that can provide a virtually unlimited number of viewers with virtually random access to video programmingxe2x80x94including virtually continuous trick mode functionalityxe2x80x94in a manner that is operable with existing telephone and cable distribution infrastructure.
The present invention discloses methods and apparatus for providing VCR-like xe2x80x9ctrick modexe2x80x9d functions, such as pause, fast-forward, and rewind, in a distributed, video-on-demand program environment. Trick modes are supported by locally altering the viewing speed for each user who requests such functions, without affecting the operation of the central data source in any way. The invention thus allows a virtually unlimited number of viewers to enjoy random access to video programmingxe2x80x94including virtually continuous trick mode functionalityxe2x80x94and does so in a manner that is operable with existing telephone and cable distribution infrastructure.
These and other objects of are satisfied by a novel method and apparatus for use with distributed program data transmitted to the user from a central data source. A portion of the program data received is written to the user""s local storage medium. Program data for a desired program is read from the local storage medium and then displayed for the user, generally at a normal viewing speed. When a particular user requests an altered speed (i.e., a trick mode), such as zero (i.e., pause), a negative.speed (i.e., rewind), a speed greater than normal speed (i.e., fast forward), or a speed that is a fraction of normal speed (i.e., slow motion), program data is read from the local storage medium and then displayed for that user at the desired, altered speed. Other users can read and view the video data at normal speed, or a different altered speed.
This method and apparatus are preferably supported by repeatedly transmitting multiple copies of the program data from the central data source along multiple, component data streams at predetermined intervals. Over time, program data from specific component streams is selected for storage to the local storage medium, as needed to support requested trick mode functions and in accordance with the preferred rules disclosed herein. In another feature of the invention, each one of a plurality of write pointers is associated with a different one of the component data streams; the write pointers specify what program data should be written into the local storage medium over time.
In yet another preferred aspect of the invention, a table for addressing the program data stored on the local storage medium is provided, and program data is read from the local storage medium in random access fashion. As will be described herein in detail, the local storage medium and the address translation table are preferably organized in circular fashion.